#include <stdio.h>
#include "ohos_init.h"
#include "iot_gpio.h"
#include "iot_gpio_ex.h"

#include "cmsis_os2.h"
#include "tm1637.h"

#include "iot_errno.h"
#include <stdio.h>
#include <string.h>
#include <unistd.h>


int led_state = 1;
static TM1637Tube_ts sDisplayData;

#define OUT_GPIO13    13
#define OUT_GPIO2    2

void tm1637(void* args ){
    //设置选择器
    IoTGpioInit(OUT_GPIO13);
    IoTGpioSetFunc(OUT_GPIO13, IOT_GPIO_FUNC_GPIO_13_GPIO);
    IoTGpioSetDir(OUT_GPIO13, IOT_GPIO_DIR_OUT); // 设置GPIO_0为输出模式

    IoTGpioInit(OUT_GPIO2);
    IoTGpioSetFunc(OUT_GPIO2, IOT_GPIO_FUNC_GPIO_2_GPIO);
    IoTGpioSetDir(OUT_GPIO2, IOT_GPIO_DIR_OUT); // 设置为输出模式

    IoTGpioSetOutputVal(OUT_GPIO2, 0);
    IoTGpioSetOutputVal(OUT_GPIO13, 1);

    printf("button thread running...\n");
    TM1637_Init(0,1);
    TM1637_Switch(1);//开显示
    TM1637_SetBrightness(0x87);//设置亮度，开显示
    TM1637_WriteCmd(0x44);//写数据到寄存器，固定地址模式
    int i = 0;
    while(1){
        //IIC_Stop();
        sDisplayData.tube0 = i / 1000;
        sDisplayData.tube1 = i % 1000 / 100;
        sDisplayData.tube2 = i % 100 / 10;
        sDisplayData.tube3 = i % 10 ;
        //memset(&sDisplayData, 0x8, sizeof(sDisplayData));
        TM1637_TubeDisplay(sDisplayData);
        usleep(1000*1000);
        i++;
    }
    

}



APP_FEATURE_INIT(tm1637);

